In voice processing and similar systems, often system data must be formatted and viewed by operators.
When an application presents data to a viewing entity (e.g., a printer), the data typically is outputted in a format that can be understood by the viewing entity. The application may output the formatted data directly to the viewing entity, or store the formatted data in an external storage for later inspection or presentation by the viewing entity. It is expected that, with the help of a viewer (e.g., a printer software), this viewing entity is capable of deciphering the data format as outputted for processing or display. In addition, data conversion is also required for the sharing of data stored among different writing entities.
Data conversion or data formatting, which is typically carried out by the writing entity since it is in possession of the client code of the application, is an expensive operation. In addition, the formatted data also requires more storage than the unformatted data. These costs are further increased in a situation where the same data or portions thereof need to be converted into various formats required by different viewers. For example, when a running program outputs data at various terminals, the same data or some of the data portions are required to be printed or presented at different printers or screens, which may be using different viewers.
Furthermore, when a running program is outputting formatted data, the system performance may be adversely affected by the data formatting process. For example, when a program is running for debugging purpose, events are outputted at various portions of the application by printing out or presenting the formatted data portions at different printers or screens for further analysis. However, the formatting affects the “real time” operation of the system. Hence, a software bug may change behavior due to the printing of the data needed to diagnose the problem.
It has been proposed that the data be formatted by the viewer at the viewing entity, so as to overcome the discussed above problems because the data would be outputted in its unformatted state. However, the viewer cannot by itself understand the objects (data) in the log output by a typical voice processing application. It must use the help of reader servants customized for each type of objects. The disadvantages are in that the viewer would be complex.